﻿
#pragma comment(lib, "TKernel.lib")
#pragma comment(lib, "TKMath.lib")
#pragma comment(lib, "TKG3d.lib")
#pragma comment(lib, "TKGeomBase.lib")

#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <Precision.hxx>

int main()
{
	gp_Pnt P1(0, 0, 0);
	gp_Pnt P2(5, 0, 0);
	gp_Vec V1(P1, P2);
	//向量有一个方法.IsOpposite（），可以用来测试两个向量的方向是相对还是平行;比如：                                        
	gp_Pnt P3(-5, 0, 2);
	gp_Vec V2(P1, P3);
	Standard_Boolean result = V1.IsOpposite(V2, Precision::Angular());

	/*
	TColgp_Array1OfPnt array(1, 5); // sizing array 
	array.SetValue(1, gp_Pnt(0, 0, 1));
	array.SetValue(2, gp_Pnt(1, 2, 2));
	array.SetValue(3, gp_Pnt(2, 3, 3));
	array.SetValue(4, gp_Pnt(4, 4, 4));
	array.SetValue(5, gp_Pnt(5, 5, 5));

	GProp_PEquation PE(array, 1.5);

	if (PE.IsPoint()) {} //是否是同一个点 
	gp_Lin L;
	if (PE.IsLinear()) { L = PE.Line(); } //是否位于一条直线上； 
	if (PE.IsPlanar()) {} //是否在一个平面内； 
	if (PE.IsSpace()) {}
	*/

	return 0;
}